Custom DXL in Archives

Not sure how best to do this.  Thoughts?

We rely heavily on Attr-DXL which all looks like "#include <Attr-DXL\Whatever.dxl>".  All our clients can point their "Addins" to the DXL server.  I cannot send the DXL to sub-contractors yet we need to partition the modules and send it to them.  Without intervention, those modules in their database will trigger DXL errors when opened.

I'm considering these:

[1] Replicate. 

  • Have some on-demand DXL:
    • that opens a module Edit,
    • finds each Attr-DXL
    • Creates a Replica text attribute for each attr-DXL (if it doesn't already exist)
    • For each object, copies the Attr-DXL value to the Replica attribute
  • Include the Replica attrs in the Partition, but not the Attr-DXL  Run the Replica script before exporting the partition
  • For baselining, Replicate the Attr-DXL, delete the Attr-DXL, Baseling, then recreate the Attr-DXL.
  • I note that "views" are disturbed.

[2] Substitute

  • Have a Substitute on-demand DXL:
    • Gets the actual DXL for each Attr-DXL, and stores it in some module-level attribute.
    • Retrieve the value of each attr-DXL
    • Modify each attr-DXL such that it is no longer Attr-DXL
    • save the module
  • Run the Subsititute script before Archiving, Partitioning, and Baselining
  • Run a reverse Substituion (using the module-level attr value containing the actual DXL) after Archiving, Partitioning, and Baseling.
  • I note that "views" are not disturbed

Golly, sure looks like [2] is the way to go.

-Louie


llandale - Fri Aug 30 09:36:23 EDT 2013

Re: Custom DXL in Archives
kourosh - Fri Aug 30 13:29:23 EDT 2013

Not sure how desirable this is but it is also another option to consider...

-put all the attr-dxl in a "holder" module

-prior to exporting the partition have a "clean-up" script of some sort delete the attr-dxl attributes

-once the customer has everything they need for the attr-dxl to not throw errors, send them the "holder" module and have them import the attr-dxl from this module (perhaps with another script?)

as I write this and think it through I'm still not sure if this would take less overhead than your other 2 options but hey it's something else to consider!

Re: Custom DXL in Archives
Richard_Good - Mon Sep 02 10:49:22 EDT 2013

kourosh - Fri Aug 30 13:29:23 EDT 2013

Not sure how desirable this is but it is also another option to consider...

-put all the attr-dxl in a "holder" module

-prior to exporting the partition have a "clean-up" script of some sort delete the attr-dxl attributes

-once the customer has everything they need for the attr-dxl to not throw errors, send them the "holder" module and have them import the attr-dxl from this module (perhaps with another script?)

as I write this and think it through I'm still not sure if this would take less overhead than your other 2 options but hey it's something else to consider!

Hi Louie,

Had this issue eons ago, took the keep it simple but not neat option and stopped using any #include statements for attribute or layout dxl. Obviously this is harder to update should you change any code, but I realise that I rarely need to, and simply wrote a script to update attribute dxl from file on the rare occassion it is necessary. If you do a substantial amount of interaction with suppliers/ customers I reccommend you do the same, anything else proved too painful for me. Pretty simple to read attribute dxl code in line by line looking for #include, then substitute that line for the actual file contents. Also, if you use some sort of pattern/convention you could also reverse the procedure (i.e. delete ths file contents from the attribute dxl and reinstate the include statement. Of course, how long and unwieldy your attribute dxl string get will depend on whatever you are doing with it. I suspect my attribute dxl's are a lot simpler than yours.

Richard

Re: Custom DXL in Archives
BillTidy - Tue Sep 03 04:41:02 EDT 2013

Is the issue of sending DXL to contractors one of security/intellectual property? You could encrypt your DXL and then distribute it to them. If you need to make updates just send them a zip file with the new release in it.